package cn.px.dao.vo.query.purchase;

import cn.px.common.bean.BaseVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @Description 采购单VO结果类
 * @author 品讯科技
 * @date 2024-08
 * @Version Copyright (c) 2020,北京乾元坤和科技有限公司 All rights reserved.
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
public class PurchaseOrderVO extends BaseVO implements Serializable {

    /**
     * 主键
     */
    private String id;
    /**
     * 美元
     */
    private BigDecimal accountMoney;
    /**
     * 币种
     */
    private Integer moneyType;
    /**
     * 汇率
     */
    private BigDecimal exchangeRate;
    private BigDecimal accountExchangeRate;
    /**
     * 美元汇率
     */
    private BigDecimal dollarExchangeRate;
    /**
     * 单号
     */
    private String billNo;
    /**
     * 采购申请ID
     */
    private String purchaseApplyId;
    /**
     * 采购计划ID
     */
    private String purchasePlanId;
    /**
     * 总需求计划主键
     */
    private String demandPlanId;
    /**
     * 公司ID
     */
    private String companyId;
    private String regionId;
    private String groupId;
    /**
     * 公司名称
     */
    private String companyName;
    /**
     * 项目主键
     */
    private String projectId;
    /**
     * 项目名称
     */
    private String projectName;
    private Integer projectMoneyType;
    private String countryCode;
    private String projectCode;
    /**
     * 类型
     */
    private Integer type;
    /**
     * 需求日期
     */
    private LocalDate demandDate;
    /**
     * 采购员ID
     */
    private String purchaserId;
    /**
     * 询价确认人
     */
    private String enquiryConfirm;
    /**
     * 采购员名称
     */
    private String purchaserName;
    /**
     * 询价总金额
     */
    private BigDecimal money;
    /**
     * 预计总金额
     */
    private BigDecimal originMoney;
    /**
     * 总金额 包含运费等各种费用
     */
    private BigDecimal totalMoney;
    /**
     * 总金额 包含运费等各种费用
     */
    private BigDecimal accountTotalMoney;

    /**
     * 已付金额
     */
    private BigDecimal paidMoney;
    /**
     * 已付金额
     */
    private BigDecimal accountPaidMoney;
    /**
     * 已报销金额
     */
    private BigDecimal reimbursedMoney;
    /**
     * 已报销金额
     */
    private BigDecimal accountReimbursedMoney;
    /**
     * 数量
     */
    private BigDecimal quantity;
    /**
     * 已购数量
     */
    private BigDecimal boughtQuantity;
    /**
     * 已到数量
     */
    private BigDecimal arrivedQuantity;
    /**
     * 已发数量
     */
    private BigDecimal dispatchedQuantity;
    /**
     * 总重
     */
    private BigDecimal totalWeight;
    /**
     * 总体积
     */
    private BigDecimal totalVolume;
    /**
     * 供货周期
     */
    private Integer supplyPeriod;
    /**
     * 货款支付方式
     */
    private Integer payType;
    /**
     * 发票类别
     */
    private Integer invoiceType;
    /**
     * 入库仓库ID
     */
    private String warehouseId;
    /**
     * 入库仓库名称
     */
    private String warehouseName;
    /**
     * 入库原因
     */
    private Integer enterReason;
    /**
     * 数量异常标志
     */
    private Boolean quantityErrorFlag;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 备注
     */
    private String remark;
    /**
     * 删除标志
     */
    private Integer delFlag;
    /**
     * 创建人
     */
    private String createdUserId;
    /**
     * 创建人名称
     */
    private String createdUserName;
    /**
     * 创建时间
     */
    private LocalDateTime createdTime;
    /**
     * 更新人
     */
    private String updateUserId;
    /**
     * 更新人名称
     */
    private String updateUserName;
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    private Boolean contractFlag;

    private Boolean dispatchFlag;

    private String mainOrderId;

    private Boolean mainOrderFlag;

    private Integer tempStore;

    private Integer reportType;

    private Boolean landFlag;

    private Boolean containerFlag;


}
